package jjn.effective_java.chapter6.item38;

/**
 * @author Jiang Jining
 * @since 2023-04-29 11:02
 */
public enum BasicOperation implements Operation {
    PLUS("+") {
        @Override
        public double apply(double x, double y) {
            return x + y;
        }
    },
    
    MINUS("-") {
        @Override
        public double apply(double x, double y) {
            return x - y;
        }
    },
    
    TIMES("*") {
        @Override
        public double apply(double x, double y) {
            return x * y;
        }
    },
    
    DIVIDE("/") {
        @Override
        public double apply(double x, double y) {
            return x / y;
        }
    };
    
    private final String symbol;
    
    BasicOperation(String symbol) {
        this.symbol = symbol;
    }
}
